Today, applications (to be referred to as web applications hereinafter) that use, via a web browser installed on a client computer, functions provided via a network by web application servers prevail. In recent years, in addition to applications, cloud computing which provides even hardware environments of web application servers is becoming common. Representative examples of cloud computing are Amazon Web Services® provided by Amazon technologies, Inc. and Windows Azure® provided by Microsoft Corporation.
It is expected that processing which has been conventionally implemented by installing a specific application on a client terminal will be provided as a web application using cloud computing. In this case, the client can receive a service by only installing a web browser, and need not install a specific application.
Under the circumstance, providing, as a web application, a driver application program which converts document data created by an application program into print data interpretable and printable by a printing apparatus is being studied. When a driver application program is provided as a web application, and cooperates with an existing document management web application, it is possible to directly browse, select, edit, and print a document managed by a server from a printing apparatus installed with a web browser. It may take a certain time until the driver application program completes the processing of converting document data into print data. In addition to the driver application program, there are other web applications that require a long time for processing. If the client uses such a web application, the elapsed time may exceed a web browser response time limit while the server executes the web application, and a time-out may occur. In this case, since a time-out may occur even when the processing is being normally executed, it is necessary to perform the processing considering the possibility that the processing time of the server exceeds the web browser response time limit.
Polling is a conventional technique to prevent time-out from occurring when the server takes a long time to carry out processing (see, for example, Japanese Patent Laid-Open No. 2003-022165). Polling is a method in which a web browser inquires a web application server at regular intervals about the execution state of processing during execution of the processing. In polling, if the web browser issues a request to the server, the server returns a response without waiting for completion of processing of the request. After that, the web browser issues a request to inquire the server whether the processing is complete, at intervals such that a time-out does not occur, for example, at regular intervals. In response to it, if the processing is complete, the server returns a response indicating completion to the web browser, and if the processing is incomplete, the server returns a response indicating incompletion. This completes a request-response operation between the server and the web browser in a short time, thereby preventing a time-out at an HTTP or higher layer, for example. Furthermore, polling is effective for allowing data received from the server to pass through the firewall of the client.